home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 March / CMCD0305.ISO / Software / Freeware / Utilitare / Battery Eater / Plugins / API + Sample (Delphi) / plug.pas next >
Encoding:
Pascal/Delphi Source File  |  2004-05-31  |  1.8 KB  |  68 lines

  1. unit plug;
  2.  
  3. interface
  4.  
  5. uses
  6.   windows;
  7.  
  8. type
  9.   // feedback info record
  10.   TPlugunInfo = packed record
  11.     Name        : PChar;
  12.     IsBench     : Boolean;
  13.     IsInfo      : Boolean;
  14.     BenchName   : PChar;
  15.     InfoName    : PChar;
  16.     IsUseOpenGL : Boolean;  // not used yet
  17.   end;
  18.  
  19.   // battery info record
  20.   TBatteryInfo = packed record
  21.     Present     : Boolean;
  22.     Capacity    : cardinal;
  23.     Voltage     : cardinal;
  24.     Percent     : Single;
  25.   end;
  26.  
  27.   // plugin version
  28.   TplugInVersion = packed record
  29.     Major    : Byte;
  30.     Minor    : Byte;
  31.     Revision : Byte;
  32.     plugins  : Word;
  33.     Comment  : PChar;
  34.   end;
  35.  
  36.   BeginBenchmark = procedure;
  37.   SetAutoRun = procedure(ProgTitle, CmdLine: string; RunOnce: boolean);
  38.   GetBatteryInfo = Function(BatNumber : Byte) : TBatteryInfo;
  39.   AddStringToLog = function(St : String) : Boolean;
  40.   GetPluginVersion = function : TplugInVersion;
  41.   DrawInfoText = Procedure (X, Y, Size : Word; Text : PChar);
  42.  
  43. Var
  44.   beBeginBenchmark : BeginBenchmark;
  45.   beSetAutoRun : SetAutoRun;
  46.   beGetBatteryInfo : GetBatteryInfo;
  47.   beAddStringToLog : AddStringToLog;
  48.   beGetPluginVersion : GetPluginVersion;
  49.   beDrawInfoText : DrawInfoText;
  50.   Owner : Cardinal;                    // main app handle
  51.   h_wnd : HWND;                        // main window handle
  52.  
  53. Procedure InitializePlugin;  
  54.  
  55. implementation
  56.  
  57. Procedure InitializePlugin;
  58. begin
  59.   beBeginBenchmark:= GetProcAddress(Owner, 'BeginBenchmark');
  60.   beSetAutoRun:= GetProcAddress(Owner, 'SetAutoRun');
  61.   beGetBatteryInfo:= GetProcAddress(Owner, 'GetBatteryInfo');
  62.   beAddStringToLog:= GetProcAddress(Owner, 'AddStringToLog');
  63.   beGetPluginVersion:= GetProcAddress(Owner, 'GetPluginVersion');
  64.   beDrawInfoText:= GetProcAddress(Owner, 'DrawInfoText');
  65. end;
  66.  
  67. end.
  68.